--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
docs/manual/git.html HEAD (3535327f) Text, 44.04 KB
Tff7b72<!doctype html>
Tb4b4b4<Tff7b72html Te6edf3classTff7b72=Ta5d6ff"no-js" Te6edf3langTff7b72=Ta5d6ff"en" Te6edf3data-content_rootTff7b72=Ta5d6ff"./"Tb4b4b4>
Tb4b4b4<Tff7b72headTb4b4b4>Tb4b4b4<Tff7b72meta Te6edf3charsetTff7b72=Ta5d6ff"utf-8"Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"viewport" Te6edf3contentTff7b72=Ta5d6ff"width=device-width,initial-scale=1"Tb4b4b4>
Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"color-scheme" Te6edf3contentTff7b72=Ta5d6ff"light dark"Tb4b4b4>Tb4b4b4<Tff7b72meta Te6edf3nameTff7b72=Ta5d6ff"viewport" Te6edf3contentTff7b72=Ta5d6ff"width=device-width, initial-scale=1" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"index" Te6edf3titleTff7b72=Ta5d6ff"Index" Te6edf3hrefTff7b72=Ta5d6ff"genindex.html"Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"search" Te6edf3titleTff7b72=Ta5d6ff"Search" Te6edf3hrefTff7b72=Ta5d6ff"search.html"Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"next" Te6edf3titleTff7b72=Ta5d6ff"Support Reticulum" Te6edf3hrefTff7b72=Ta5d6ff"support.html"Tb4b4b4>Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"prev" Te6edf3titleTff7b72=Ta5d6ff"Building Networks" Te6edf3hrefTff7b72=Ta5d6ff"networks.html"Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"prefetch" Te6edf3hrefTff7b72=Ta5d6ff"_static/rns_logo_512.png" Te6edf3asTff7b72=Ta5d6ff"image"Tb4b4b4>
T8b949e<!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25.dev1 -->
Tb4b4b4<Tff7b72titleTb4b4b4>Using Git Over Reticulum - Reticulum Network Stack 1.2.2 documentationTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/pygments.css?v=d111a655" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/styles/furo.css?v=580074bf" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/copybutton.css?v=76b2166b" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/styles/furo-extensions.css?v=8dab3a3b" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72link Te6edf3relTff7b72=Ta5d6ff"stylesheet" Te6edf3typeTff7b72=Ta5d6ff"text/css" Te6edf3hrefTff7b72=Ta5d6ff"_static/custom.css?v=bb3cebc5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72styleTb4b4b4>
Tff7b72body Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#f2f2f2Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: T79c0ff#1e1e1eTb4b4b4;
Tb4b4b4}
Tb4b4b4@Tff7b72media Tff7b72not Tff7b72print Tb4b4b4{
Tff7b72bodyTff7b72[Tff7b72data-themeTff7b72=Ta5d6ff"dark"Tff7b72] Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#202020Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: T79c0ff#d0d0d0Tb4b4b4;
Te6edf3--color-background-primaryTb4b4b4: T79c0ff#202b38Tb4b4b4;
Te6edf3--color-background-secondaryTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-foreground-primaryTb4b4b4: T79c0ff#dbdbdbTb4b4b4;
Te6edf3--color-foreground-secondaryTb4b4b4: T79c0ff#a9b1baTb4b4b4;
Te6edf3--color-brand-primaryTb4b4b4: T79c0ff#41adffTb4b4b4;
Te6edf3--color-background-hoverTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-api-nameTb4b4b4: T79c0ff#ffbe85Tb4b4b4;
Te6edf3--color-api-pre-nameTb4b4b4: T79c0ff#efae75Tb4b4b4;
Tb4b4b4}
Tb4b4b4@Tff7b72media Tff7b72(Tff7b72prefers-color-schemeTff7b72: Tff7b72darkTff7b72) Tb4b4b4{
Tff7b72bodyTb4b4b4:Tf0883enotTff7b72(Tff7b72[Tff7b72data-themeTff7b72=Ta5d6ff"light"Tff7b72]Tff7b72) Tb4b4b4{
Te6edf3--color-code-backgroundTb4b4b4: T79c0ff#202020Tb4b4b4;
Te6edf3--color-code-foregroundTb4b4b4: T79c0ff#d0d0d0Tb4b4b4;
Te6edf3--color-background-primaryTb4b4b4: T79c0ff#202b38Tb4b4b4;
Te6edf3--color-background-secondaryTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-foreground-primaryTb4b4b4: T79c0ff#dbdbdbTb4b4b4;
Te6edf3--color-foreground-secondaryTb4b4b4: T79c0ff#a9b1baTb4b4b4;
Te6edf3--color-brand-primaryTb4b4b4: T79c0ff#41adffTb4b4b4;
Te6edf3--color-background-hoverTb4b4b4: T79c0ff#161f27Tb4b4b4;
Te6edf3--color-api-nameTb4b4b4: T79c0ff#ffbe85Tb4b4b4;
Te6edf3--color-api-pre-nameTb4b4b4: T79c0ff#efae75Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72headTb4b4b4>
Tb4b4b4<Tff7b72bodyTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3datasetTb4b4b4.Te6edf3theme Tff7b72= Te6edf3localStorageTb4b4b4.Te6edf3getItemTb4b4b4(Ta5d6ff"theme"Tb4b4b4) Tff7b72|| Ta5d6ff"auto"Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3styleTff7b72=Ta5d6ff"display: none;"Tb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-toc" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>ContentsTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3strokeTff7b72=Ta5d6ff"currentColor" Te6edf3fillTff7b72=Ta5d6ff"currentColor" Te6edf3stroke-widthTff7b72=Ta5d6ff"0" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 1024 1024"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-menu" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>MenuTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"2" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-menu"Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"6" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"6"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"3" Te6edf3y1Tff7b72=Ta5d6ff"18" Te6edf3x2Tff7b72=Ta5d6ff"21" Te6edf3y2Tff7b72=Ta5d6ff"18"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-arrow-right" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>ExpandTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"2" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-chevron-right"Tb4b4b4>
Tb4b4b4<Tff7b72polyline Te6edf3pointsTff7b72=Ta5d6ff"9 18 15 12 9 6"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72polylineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-sun" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Light modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"feather-sun"Tb4b4b4>
Tb4b4b4<Tff7b72circle Te6edf3cxTff7b72=Ta5d6ff"12" Te6edf3cyTff7b72=Ta5d6ff"12" Te6edf3rTff7b72=Ta5d6ff"5"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72circleTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"12" Te6edf3y1Tff7b72=Ta5d6ff"1" Te6edf3x2Tff7b72=Ta5d6ff"12" Te6edf3y2Tff7b72=Ta5d6ff"3"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"12" Te6edf3y1Tff7b72=Ta5d6ff"21" Te6edf3x2Tff7b72=Ta5d6ff"12" Te6edf3y2Tff7b72=Ta5d6ff"23"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"4.22" Te6edf3y1Tff7b72=Ta5d6ff"4.22" Te6edf3x2Tff7b72=Ta5d6ff"5.64" Te6edf3y2Tff7b72=Ta5d6ff"5.64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"18.36" Te6edf3y1Tff7b72=Ta5d6ff"18.36" Te6edf3x2Tff7b72=Ta5d6ff"19.78" Te6edf3y2Tff7b72=Ta5d6ff"19.78"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"1" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"3" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"21" Te6edf3y1Tff7b72=Ta5d6ff"12" Te6edf3x2Tff7b72=Ta5d6ff"23" Te6edf3y2Tff7b72=Ta5d6ff"12"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"4.22" Te6edf3y1Tff7b72=Ta5d6ff"19.78" Te6edf3x2Tff7b72=Ta5d6ff"5.64" Te6edf3y2Tff7b72=Ta5d6ff"18.36"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"18.36" Te6edf3y1Tff7b72=Ta5d6ff"5.64" Te6edf3x2Tff7b72=Ta5d6ff"19.78" Te6edf3y2Tff7b72=Ta5d6ff"4.22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72lineTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-moon" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Dark modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"icon-tabler-moon"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3strokeTff7b72=Ta5d6ff"none" Te6edf3dTff7b72=Ta5d6ff"M0 0h24v24H0z" Te6edf3fillTff7b72=Ta5d6ff"none" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-sun-with-moon" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Auto light/dark, in light modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3classTff7b72=Ta5d6ff"icon-custom-derived-from-feather-sun-and-tabler-moon"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3dTff7b72=Ta5d6ff"M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"14.5" Te6edf3y1Tff7b72=Ta5d6ff"3.25" Te6edf3x2Tff7b72=Ta5d6ff"14.5" Te6edf3y2Tff7b72=Ta5d6ff"1.25"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"14.5" Te6edf3y1Tff7b72=Ta5d6ff"15.85" Te6edf3x2Tff7b72=Ta5d6ff"14.5" Te6edf3y2Tff7b72=Ta5d6ff"17.85"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"10.044" Te6edf3y1Tff7b72=Ta5d6ff"5.094" Te6edf3x2Tff7b72=Ta5d6ff"8.63" Te6edf3y2Tff7b72=Ta5d6ff"3.68"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"19" Te6edf3y1Tff7b72=Ta5d6ff"14.05" Te6edf3x2Tff7b72=Ta5d6ff"20.414" Te6edf3y2Tff7b72=Ta5d6ff"15.464"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"8.2" Te6edf3y1Tff7b72=Ta5d6ff"9.55" Te6edf3x2Tff7b72=Ta5d6ff"6.2" Te6edf3y2Tff7b72=Ta5d6ff"9.55"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"20.8" Te6edf3y1Tff7b72=Ta5d6ff"9.55" Te6edf3x2Tff7b72=Ta5d6ff"22.8" Te6edf3y2Tff7b72=Ta5d6ff"9.55"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"10.044" Te6edf3y1Tff7b72=Ta5d6ff"14.006" Te6edf3x2Tff7b72=Ta5d6ff"8.63" Te6edf3y2Tff7b72=Ta5d6ff"15.42"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3x1Tff7b72=Ta5d6ff"19" Te6edf3y1Tff7b72=Ta5d6ff"5.05" Te6edf3x2Tff7b72=Ta5d6ff"20.414" Te6edf3y2Tff7b72=Ta5d6ff"3.636"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72circle Te6edf3cxTff7b72=Ta5d6ff"14.5" Te6edf3cyTff7b72=Ta5d6ff"9.55" Te6edf3rTff7b72=Ta5d6ff"3.6"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-moon-with-sun" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>Auto light/dark, in dark modeTb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round"
Te6edf3classTff7b72=Ta5d6ff"icon-custom-derived-from-feather-sun-and-tabler-moon"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"18" Te6edf3y1Tff7b72=Ta5d6ff"3.705" Te6edf3x2Tff7b72=Ta5d6ff"18" Te6edf3y2Tff7b72=Ta5d6ff"2.5"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"18" Te6edf3y1Tff7b72=Ta5d6ff"11.295" Te6edf3x2Tff7b72=Ta5d6ff"18" Te6edf3y2Tff7b72=Ta5d6ff"12.5"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"15.316" Te6edf3y1Tff7b72=Ta5d6ff"4.816" Te6edf3x2Tff7b72=Ta5d6ff"14.464" Te6edf3y2Tff7b72=Ta5d6ff"3.964"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"20.711" Te6edf3y1Tff7b72=Ta5d6ff"10.212" Te6edf3x2Tff7b72=Ta5d6ff"21.563" Te6edf3y2Tff7b72=Ta5d6ff"11.063"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"14.205" Te6edf3y1Tff7b72=Ta5d6ff"7.5" Te6edf3x2Tff7b72=Ta5d6ff"13.001" Te6edf3y2Tff7b72=Ta5d6ff"7.5"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"21.795" Te6edf3y1Tff7b72=Ta5d6ff"7.5" Te6edf3x2Tff7b72=Ta5d6ff"23" Te6edf3y2Tff7b72=Ta5d6ff"7.5"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"15.316" Te6edf3y1Tff7b72=Ta5d6ff"10.184" Te6edf3x2Tff7b72=Ta5d6ff"14.464" Te6edf3y2Tff7b72=Ta5d6ff"11.036"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72line Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3x1Tff7b72=Ta5d6ff"20.711" Te6edf3y1Tff7b72=Ta5d6ff"4.789" Te6edf3x2Tff7b72=Ta5d6ff"21.563" Te6edf3y2Tff7b72=Ta5d6ff"3.937"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72circle Te6edf3styleTff7b72=Ta5d6ff"opacity: 50%" Te6edf3cxTff7b72=Ta5d6ff"18" Te6edf3cyTff7b72=Ta5d6ff"7.5" Te6edf3rTff7b72=Ta5d6ff"2.169"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-pencil" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"icon-tabler-pencil-code"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13.5 6.5l4 4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M20 21l2 -2l-2 -2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M17 17l-2 2l2 2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tff7b72symbol Te6edf3idTff7b72=Ta5d6ff"svg-eye" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24" Te6edf3fillTff7b72=Ta5d6ff"none" Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"1" Te6edf3stroke-linecapTff7b72=Ta5d6ff"round" Te6edf3stroke-linejoinTff7b72=Ta5d6ff"round" Te6edf3classTff7b72=Ta5d6ff"icon-tabler-eye-code"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3strokeTff7b72=Ta5d6ff"none" Te6edf3dTff7b72=Ta5d6ff"M0 0h24v24H0z" Te6edf3fillTff7b72=Ta5d6ff"none" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3dTff7b72=Ta5d6ff"M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M20 21l2 -2l-2 -2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M17 17l-2 2l2 2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72symbolTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"sidebar-toggle" Te6edf3nameTff7b72=Ta5d6ff"__navigation" Te6edf3idTff7b72=Ta5d6ff"__navigation" Te6edf3aria-labelTff7b72=Ta5d6ff"Toggle site navigation sidebar"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"checkbox" Te6edf3classTff7b72=Ta5d6ff"sidebar-toggle" Te6edf3nameTff7b72=Ta5d6ff"__toc" Te6edf3idTff7b72=Ta5d6ff"__toc" Te6edf3aria-labelTff7b72=Ta5d6ff"Toggle table of contents sidebar"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"overlay sidebar-overlay" Te6edf3forTff7b72=Ta5d6ff"__navigation"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"overlay toc-overlay" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"skip-to-content muted-link" Te6edf3hrefTff7b72=Ta5d6ff"#furo-main-content"Tb4b4b4>Skip to contentTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page"Tb4b4b4>
Tb4b4b4<Tff7b72header Te6edf3classTff7b72=Ta5d6ff"mobile-header"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-left"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"nav-overlay-icon" Te6edf3forTff7b72=Ta5d6ff"__navigation"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-menu"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-center"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"index.html"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"brand"Tb4b4b4>Reticulum Network Stack 1.2.2 documentationTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"header-right"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"theme-toggle-container theme-toggle-header"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"theme-toggle" Te6edf3aria-labelTff7b72=Ta5d6ff"Toggle Light / Dark / Auto color theme"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun-with-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon-with-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"toc-overlay-icon toc-header-icon" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-toc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72headerTb4b4b4>
Tb4b4b4<Tff7b72aside Te6edf3classTff7b72=Ta5d6ff"sidebar-drawer"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-sticky"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"sidebar-brand" Te6edf3hrefTff7b72=Ta5d6ff"index.html"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-logo-container"Tb4b4b4>
Tb4b4b4<Tff7b72img Te6edf3classTff7b72=Ta5d6ff"sidebar-logo" Te6edf3srcTff7b72=Ta5d6ff"_static/rns_logo_512.png" Te6edf3altTff7b72=Ta5d6ff"Logo"Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"sidebar-brand-text"Tb4b4b4>Reticulum Network Stack 1.2.2 documentationTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72form Te6edf3classTff7b72=Ta5d6ff"sidebar-search-container" Te6edf3methodTff7b72=Ta5d6ff"get" Te6edf3actionTff7b72=Ta5d6ff"search.html" Te6edf3roleTff7b72=Ta5d6ff"search"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3classTff7b72=Ta5d6ff"sidebar-search" Te6edf3placeholderTff7b72=Ta5d6ff"Search" Te6edf3nameTff7b72=Ta5d6ff"q" Te6edf3aria-labelTff7b72=Ta5d6ff"Search"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"hidden" Te6edf3nameTff7b72=Ta5d6ff"check_keywords" Te6edf3valueTff7b72=Ta5d6ff"yes"Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3typeTff7b72=Ta5d6ff"hidden" Te6edf3nameTff7b72=Ta5d6ff"area" Te6edf3valueTff7b72=Ta5d6ff"default"Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72formTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3idTff7b72=Ta5d6ff"searchbox"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-scroll"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"sidebar-tree"Tb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"current"Tb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"whatis.html"Tb4b4b4>What is Reticulum?Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"gettingstartedfast.html"Tb4b4b4>Getting Started FastTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"zen.html"Tb4b4b4>Zen of ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"software.html"Tb4b4b4>Programs Using ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"using.html"Tb4b4b4>Using Reticulum on Your SystemTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"understanding.html"Tb4b4b4>Understanding ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"hardware.html"Tb4b4b4>Communications HardwareTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"interfaces.html"Tb4b4b4>Configuring InterfacesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"networks.html"Tb4b4b4>Building NetworksTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1 current current-page"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"current reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#"Tb4b4b4>Using Git Over ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"support.html"Tb4b4b4>Support ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"examples.html"Tb4b4b4>Code ExamplesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"license.html"Tb4b4b4>Reticulum LicenseTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3classTff7b72=Ta5d6ff"toctree-l1"Tb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"reference.html"Tb4b4b4>API ReferenceTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72asideTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"main"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"content"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"article-container"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"#" Te6edf3classTff7b72=Ta5d6ff"back-to-top muted-link"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg" Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"Tb4b4b4>
Tb4b4b4<Tff7b72path Te6edf3dTff7b72=Ta5d6ff"M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pathTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Back to topTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"content-icon-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"theme-toggle-container theme-toggle-content"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3classTff7b72=Ta5d6ff"theme-toggle" Te6edf3aria-labelTff7b72=Ta5d6ff"Toggle Light / Dark / Auto color theme"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun-with-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-auto-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon-with-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-dark"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-moon"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"theme-icon-when-light"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-sun"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"toc-overlay-icon toc-content-icon" Te6edf3forTff7b72=Ta5d6ff"__toc"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"icon"Tb4b4b4>Tb4b4b4<Tff7b72svgTb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-toc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72article Te6edf3roleTff7b72=Ta5d6ff"main" Te6edf3idTff7b72=Ta5d6ff"furo-main-content"Tb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"using-git-over-reticulum"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"git-main"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tff7b72h1Tb4b4b4>Using Git Over ReticulumTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#using-git-over-reticulum" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>A set of utilities for distributed collaborative software development and publishing is included in RNS.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The system consists of two parts: The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> node that hosts repositories, and the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>git-remote-rnsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> helper that enables Git to communicate with rngit nodes. As soon as you have RNS installed on your system, you can transparently use Git with Reticulum-hosted repositories just like any other type of remote. Git over Reticulum uses URLs in the following format: Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rns://DESTINATION_HASH/group/repoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If you set a branch to track a Reticulum remote as the default upstream, you can simply use Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>gitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> as you normally would; all commands work transparently and as expected.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"admonition warning"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"admonition-title"Tb4b4b4>WarningTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>The rngit program is a new addition to RNS!Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> This functionality was introduced in RNS 1.2.0. While great care has been taken to design a secure, but highly configurable and flexible permission system for allowing many users to interact with many different repositories on a single node, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> has not been tested extensively in the wild! Be careful when hosting repositories, especially if they are public or semi-public.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"the-rngit-utility"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>The rngit UtilityTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#the-rngit-utility" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> utility provides full Git repository hosting and interaction over Reticulum. It allows you to host and manage Git repositories and releases on Reticulum nodes, and to interact with remote repositories using standard Git commands through the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rns://Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> URL scheme.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Usage ExamplesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> to start a repository node:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit
[Notice] Starting Reticulum Git Node...
[Notice] Reticulum Git Node listening on Te6edf3<0d7334d411d00120cbad24edf355fdd2Te6edf3>
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>On the first run, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> will create a default configuration file. You will then need to edit this, to point to your repository locations, configure access permissions, and perform any other necessary configuration.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>View your identity and destination hashes:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit --print-identity
Git Peer Identity : Te6edf3<959e10e5efc1bd9d97a4083babe51deaTe6edf3>
Repository Node Identity : Te6edf3<153cb870b4665b8c1c348896292b0badTe6edf3>
Repositories Destination : Te6edf3<0d7334d411d00120cbad24edf355fdd2Te6edf3>
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If the page server is enabled, the output will also include the Nomad Network destination hash.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>You can run Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> in service mode with logging to file:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit -s
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Clone a repository from a remote Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> node:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ git clone rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Add a Reticulum remote to an existing repository:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ git remote add some_remote rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Push changes to the Reticulum remote:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ git push some_remote master
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Get changes from a remote repository:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ git pull rns_remote master
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line Options (rngit)Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rngit.py [-h] [--config CONFIG] [--rnsconfig RNSCONFIG] [-s] [-i] [-v]
[-q] [--version]
Reticulum Git Repository Node
options:
-h, --help show this help message and exit
--config CONFIG path to alternative config directory
--rnsconfig RNSCONFIG
path to alternative Reticulum config directory
-p, --print-identity print identity and destination info and exit
-s, --service rngit is running as a service and should log to file
-i, --interactive drop into interactive shell after initialisation
-v, --verbose increase verbosity
-q, --quiet decrease verbosity
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line Options (git-remote-rns)Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>git-remote-rnsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> helper is automatically invoked by Git when interacting with Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rns://Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> URLs. It is not typically run directly by users, but accepts the following environment variables for configuration:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>RNGIT_CONFIGTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Path to alternative client configuration directoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>RNS_CONFIGTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Path to alternative Reticulum configuration directoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The client configuration file is located at Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.rngit/client_configTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> and allows adjusting parameters such as the reference batch size for transfers.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"repository-structure"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Repository StructureTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#repository-structure" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> node organizes repositories into groups. Each group is a directory containing bare Git repositories. The repository path format is Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>group_name/repo_nameTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>. For example, a repository at Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/var/git/public/myrepoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> would be accessible as Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>public/myrepoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> via the URL Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rns://DESTINATION_HASH/public/myrepoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>ConfigurationTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> node configuration file is located at Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.rngit/configTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (or Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>/etc/rngit/configTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> for system-wide installations). The default configuration includes:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Repository group paths defining where to find bare repositoriesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Access permissions for groups and individual repositoriesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Announce intervals for network visibilityTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Optional statistics recording for repository activityTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Access permissions can be configured at the group level in the config file, or per-repository using Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>.allowedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> files. Permissions use the format Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>permission:targetTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> where permission is Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (read), Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>wTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (write), Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rwTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (read/write), Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>cTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (create) or Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>sTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (stats) and target is Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>allTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>noneTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, or a specific identity hash.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>sTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (stats) permission allows viewing repository activity statistics, including views, fetches and pushes over time. To enable statistics recording, set Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>record_statsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>=Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>yesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> in the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>[rngit]Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> section of the configuration file. You can also exclude specific identities from statistics by adding their hashes to Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>stats_ignore_identitiesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Repository-specific Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>.allowedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> files can be static text files or executable scripts that output permission rules to stdout. A Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>group.allowedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> file in a repository group directory applies to all repositories within that group.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"serving-pages-over-nomad-network"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Serving Pages Over Nomad NetworkTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#serving-pages-over-nomad-network" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>In addition to providing Git repository access via the Git remote helper protocol, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> can also run a Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference external" Te6edf3hrefTff7b72=Ta5d6ff"https://github.com/markqvist/nomadnet"Tb4b4b4>Nomad NetworkTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> compatible page node. This allows users to browse repository information, view file contents, inspect commit history and access repository statistics through any Nomad Network client.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>When enabled, the page node provides a complete interface to your repositories, with automatic Markdown to Micron conversion, syntax-highlighted code browsing, and detailed commit, diff and statistics views.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Enabling the Git Page NodeTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To enable the page node, add the following to your Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.rngit/configTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> file:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[pages]
serve_nomadnet = yes
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>When the page node is enabled, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> will listen on a Nomad Network node destination in addition to the Git repository destination. You can view the destination hash by running:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit --print-identity
Git Peer Identity : Te6edf3<959e10e5efc1bd9d97a4083babe51deaTe6edf3>
Repository Node Identity : Te6edf3<153cb870b4665b8c1c348896292b0badTe6edf3>
Repositories Destination : Te6edf3<0d7334d411d00120cbad24edf355fdd2Te6edf3>
Nomad Network Destination : Te6edf3<50824b711717f97c2fb1166ceddd5ea9Te6edf3>
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Accessing Repository PagesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Once the page server is running, you can access it from any Nomad Network client by connecting to the Nomad Network destination. The page node provides the following views:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Front PageTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Lists all repository groups accessible to your identityTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Group PageTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Shows all repositories within a groupTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Repository PageTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Displays repository overview, description and READMETb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>ReleasesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - List of releases for the repository, with information and downloadsTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>File BrowserTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Browse directory trees and view and download file contentsTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Commits ViewTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - View commit history with paginationTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Commit DetailsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Detailed commit information with file changes and diffsTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Refs ViewTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - List branches and tagsTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>StatisticsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4> - Activity charts showing views, fetches and pushes over timeTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>All pages respect the same permission system used for Git access. If an identity does not have read access to a repository, they will not be able to view its pages.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"formatting-syntax-highlighting"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Formatting Te6edf3& Syntax HighlightingTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#formatting-syntax-highlighting" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>pygmentsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> Python module is installed on your system, the page server will automatically apply syntax highlighting to code files. The highlighting supports a wide range of programming languages and uses a color theme optimized for terminal display.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To enable syntax highlighting, install pygments:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>pip install pygments
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Markdown Te6edf3& Micron SupportTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>README files and other Markdown documents are automatically converted to Micron markup for display in Nomad Network clients. You can also write your README files directly in Micron, in which case they will display and render as such in any Nomad Network client. The file browser also supports viewing both rendered and raw Markdown and Micron documents.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Code blocks in Markdown can include language hints for syntax highlighting:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>```python
def hello_world():
print(Te6edf3"Hello, Reticulum!Te6edf3")
```
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"customizing-templates"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Customizing TemplatesTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#customizing-templates" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The page server uses a template system that allows complete customization of the generated pages. Templates are stored in the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>~/.rngit/templates/Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> directory as Micron files.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The following template files are supported:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>base.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Base template wrapping all pagesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>front.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Front page listing all groupsTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>group.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Group page listing repositoriesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>repo.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Repository overview pageTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>releases.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Release list pageTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>release.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Release details pageTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>tree.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - File browser pagesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>blob.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - File content displayTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>commits.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Commit history listingTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>commit.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Individual commit detail pageTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>refs.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Branches and tags listingTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>stats.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Statistics pageTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Templates can include the following variables:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>{PAGE_CONTENT}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - The main content of the page (required)Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>{NODE_NAME}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - The configured node nameTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>{NAVIGATION}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Breadcrumb navigation linksTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>{VERSION}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - The rngit version numberTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>{GEN_TIME}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Page generation timeTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Dynamic TemplatesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Templates can be made executable to generate dynamic content. If a template file has the executable bit set, it will be executed and its stdout used as the template content.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Icon SetsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>By default, the page server uses Nerd Font icons. If you prefer simpler icons or your terminal does not support Nerd Fonts, you can enable Unicode icons instead:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[pages]
serve_nomadnet = yes
unicode_icons = yes
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Repository StatisticsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>When statistics recording is enabled (see the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>record_statsTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> configuration option), the page server can display activity charts for each repository. The statistics page shows:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Total and peak views, fetches and pushesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Daily activity charts over a 90-day periodTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Combined activity visualizationTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To view statistics, a user must have the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>sTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> (stats) permission for the repository. See the Access Configuration section for details on setting permissions.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Repository ThanksTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>The page server includes a “Thanks” feature that allows users to express appreciation for a repository. On each repository page, a “Thanks” link is displayed showing the current thanks count. Clicking this link registers a thank you for the repository.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Configuration ExampleTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>A complete page server configuration might look like this:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>[rngit]
node_name = My Git Server
announce_interval = 360
record_stats = yes
[repositories]
public = /var/git/public
internal = /var/git/internal
[access]
public = r:all
internal = rw:9710b86ba12c42d1d8f30f74fe509286
[pages]
serve_nomadnet = yes
unicode_icons = no
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tff7b72section Te6edf3idTff7b72=Ta5d6ff"release-management"Tb4b4b4>
Tb4b4b4<Tff7b72h2Tb4b4b4>Release ManagementTb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"headerlink" Te6edf3hrefTff7b72=Ta5d6ff"#release-management" Te6edf3titleTff7b72=Ta5d6ff"Link to this heading"Tb4b4b4>¶Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>In addition to hosting Git repositories, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> provides a complete release management system. This allows you to publish versioned releases with associated artifacts, release notes and metadata. Releases are managed through the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4> Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>releaseTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> subcommand, and are also viewable through the Nomad Network page interface.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>The Release WorkflowTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Creating a release involves specifying a Git tag and a directory containing build artifacts or other files to distribute. The Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> client will open your configured Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>$EDITORTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> to compose release notes, then upload all artifacts to the remote repository node.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To create a release, specify the tag name and path to artifacts:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit release create rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo v1.2.0:./dist
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>This will:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ol Te6edf3classTff7b72=Ta5d6ff"arabic simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Verify that the tag Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>v1.2.0Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> exists in the repositoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Open your editor to write release notesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Upload all files from the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>./distTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> directoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Publish the releaseTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72olTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>If no Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>$EDITORTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> environment variable is set, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rngitTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> will try to use Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>nanoTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>, Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>vimTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> or Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>viTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4>. The editor will show a template with instructions. Lines starting with Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>#Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> will be ignored, and if the remaining content is empty after stripping comments, the release creation will be cancelled.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Release Storage Te6edf3& StructureTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Releases are stored on the server in a directory named Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>repo_name.releasesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> next to the bare repository. Each release is a subdirectory containing:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>METATb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Release metadata in ConfigObj formatTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>RELEASE.mdTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> or Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>RELEASE.muTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Release notesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>artifacts/Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - All uploaded filesTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>THANKSTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> - Appreciation count from usersTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Listing ReleasesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To view all releases for a repository:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit release list rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo
Tag Status Created Objs Notes
------------------------------------------------------------------
v1.2.0 published 2025-01-15 14:32 3 Another release
v1.1.0 published 2024-12-03 09:15 2 Bug fix release
v1.0.0 published 2024-10-20 16:45 2 Initial release
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Viewing Release DetailsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To see full information about a specific release:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit release view rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo v1.2.0
Release : 0.9.2
Status : published
Created : 2026-05-04 23:53:09
Thanks : 5
Release Notes
=============
Version 1.2.0 release notes...
Artifacts (4)
=============
- myapp-1.2.0.tar.gz (1.5 MB)
- myapp-1.2.0.zip (1.6 MB)
- checksums.txt (256 B)
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Deleting ReleasesTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>To remove a release:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>$ rngit release delete rns://50824b711717f97c2fb1166ceddd5ea9/public/myrepo v1.2.0
Are you sure you want to delete release Te6edf3'v1.2.0Te6edf3'? [y/N]: y
Release v1.2.0 deleted
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Requirements Te6edf3& ValidationTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"simple"Tb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>The specified tag must exist in the remote repositoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>You must have Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>releaseTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> permission for the repositoryTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>The target artifacts directory must exist and contain at least one fileTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72pTb4b4b4>Release notes cannot be emptyTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>PermissionsTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Release management requires the Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>releaseTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> permission, configured the same way as other repository permissions. In the config file or Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>.allowedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> files, use Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>rel:targetTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> to grant release management rights:Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4># In .allowed file or config
rel:all # Allow everyone
rel:9710b86... # Allow specific identity
rel:none # Deny everyone
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>Nomad Network InterfaceTb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>When the Nomad Network page server is enabled, releases are displayed on a dedicated releases page for each repository. Each release is listed with its tag, creation date, artifact count and a preview of the release notes. Clicking a release shows the full details including formatted release notes and a listing of all artifacts with their sizes.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Only releases with Tb4b4b4<Tff7b72code Te6edf3classTff7b72=Ta5d6ff"docutils literal notranslate"Tb4b4b4>Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"pre"Tb4b4b4>publishedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72codeTb4b4b4> status are visible through the Nomad Network interface. Draft releases (if supported in future implementations) would only be visible through the command-line interface.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Tb4b4b4<Tff7b72strongTb4b4b4>All Command-Line Options (rngit release)Tb4b4b4<Tb4b4b4/Tff7b72strongTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight-text notranslate"Tb4b4b4>Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"highlight"Tb4b4b4>Tb4b4b4<Tff7b72preTb4b4b4>Tb4b4b4<Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>usage: rngit release [-h] [--config CONFIG] [--rnsconfig RNSCONFIG]
[-i IDENTITY] [-v] [-q] [--version]
operation repository [target]
Reticulum Git Release Manager
positional arguments:
operation list, view, create or delete
repository URL of remote repository (rns://hash/group/repo)
target tag or tag:path for create, tag for view/delete
options:
-h, --help show this help message and exit
--config CONFIG path to alternative config directory
--rnsconfig RNSCONFIG
path to alternative Reticulum config directory
-i IDENTITY, --identity IDENTITY
path to release identity
-v, --verbose increase verbosity
-q, --quiet decrease verbosity
--version show programTe6edf3's version number and exit
Tb4b4b4<Tb4b4b4/Tff7b72preTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72sectionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72articleTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72footerTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"related-pages"Tb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"next-page" Te6edf3hrefTff7b72=Ta5d6ff"support.html"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page-info"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"context"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>NextTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"title"Tb4b4b4>Support ReticulumTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"furo-related-icon"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-arrow-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"prev-page" Te6edf3hrefTff7b72=Ta5d6ff"networks.html"Tb4b4b4>
Tb4b4b4<Tff7b72svg Te6edf3classTff7b72=Ta5d6ff"furo-related-icon"Tb4b4b4>Tb4b4b4<Tff7b72use Te6edf3hrefTff7b72=Ta5d6ff"#svg-arrow-right"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72useTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"page-info"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"context"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>PreviousTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"title"Tb4b4b4>Building NetworksTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bottom-of-page"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"left-details"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"copyright"Tb4b4b4>
Copyright Te6edf3© 2025, Mark Qvist
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Generated with Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://www.sphinx-doc.org/"Tb4b4b4>SphinxTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4> and
Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"https://github.com/pradyunsg/furo"Tb4b4b4>FuroTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"right-details"Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72footerTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72aside Te6edf3classTff7b72=Ta5d6ff"toc-drawer"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-sticky toc-scroll"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-title-container"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"toc-title"Tb4b4b4>
On this page
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-tree-container"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"toc-tree"Tb4b4b4>
Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#"Tb4b4b4>Using Git Over ReticulumTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tff7b72ulTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#the-rngit-utility"Tb4b4b4>The rngit UtilityTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#repository-structure"Tb4b4b4>Repository StructureTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#serving-pages-over-nomad-network"Tb4b4b4>Serving Pages Over Nomad NetworkTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#formatting-syntax-highlighting"Tb4b4b4>Formatting Te6edf3& Syntax HighlightingTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#customizing-templates"Tb4b4b4>Customizing TemplatesTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3classTff7b72=Ta5d6ff"reference internal" Te6edf3hrefTff7b72=Ta5d6ff"#release-management"Tb4b4b4>Release ManagementTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72asideTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/documentation_options.js?v=fd7cadf9"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/doctools.js?v=9bcbadda"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/sphinx_highlight.js?v=dc90522c"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/scripts/furo.js?v=46bd48cc"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/clipboard.min.js?v=a7894cd8"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"_static/copybutton.js?v=f281be69"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72bodyTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72htmlTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────